package com.tao.demo;

public class OperatorDemo1 {
    /*
        或位运算符
        1001
        0100
        ------有1则1------
        1101 --> 13
     */
    /*
        异或运算符
        5 ^ 3 ^ 3
        0000-0000 0000-0000 0000-0000 0000-0101
        0000-0000 0000-0000 0000-0000 0000-0011
        ---------------------------------------------
        0000-0000 0000-0000 0000-0000 0000-0110 --->6
        0000-0000 0000-0000 0000-0000 0000-0011
        ---------------------------------------------
        0000-0000 0000-0000 0000-0000 0000-0101 --->5
        14 ^ 9 ^ 14
        0000-0000 0000-0000 0000-0000 0000-1110
        0000-0000 0000-0000 0000-0000 0000-1001
        0000-0000 0000-0000 0000-0000 0000-1110
        ------------------相同为0,不同为1-------------------------
        0000-0000 0000-0000 0000-0000 0000-0111
        0000-0000 0000-0000 0000-0000 0000-1110
        ====================================================
        0000-0000 0000-0000 0000-0000 0000-1001  --->9
        =====================================================
        0110-0100          100
        0110-0100          100
        1100-1000          补码
        1100-0111          反码
        0011-1000          源码 =-56
    */
    public static void main(String[] args) {
        int a = 5,b = 3;
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;
        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }

}
